﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Web;

namespace BookingSystemModel
{
    [DataContractAttribute]
    public class Subscription
    {

        [DataMemberAttribute]
        public String Title { get; set; }

        [DataMember]
        public String Description { get; set; }

        [DataMember]
        public Int32 AttendeeAmount { get; set; }
        
        [DataMember]
        public Boolean IsActive { get; set; }

        [DataMember]
        public Boolean IsDeleted { get; set; }

        [DataMember]
        public DateTime ValidFrom { get; set; }

        [DataMember]
        public DateTime ValidTo { get; set; }

        [DataMember]
        public Entity Payee { get; set; }
        
        [DataMember]
        public String Note { get; set; }

        [DataMember]
        public ChangeEvent ChangeEvent { get; set; }
        
        [DataMember]
        public List<ICustomer> Customers { get; set; }

        [DataMember]
        public List<IService> Rooms { get; set; }

        [DataMember]
        public List<IService> Services { get; set; }

        [DataMember]
        public List<IPayment> Payments { get; set; }

        public Subscription()
        {

        }

        public Subscription(String _title, String _description, int _attendeeAmount, DateTime _start, DateTime _end, Entity _payee, String _note)
        {
            this.Title = _title;
            this.Description = _description;
            this.AttendeeAmount = _attendeeAmount;
            this.IsActive = true;
            this.IsDeleted = false;
            this.ValidFrom = _start;
            this.ValidTo = _end;
            this.Payee = _payee;
            this.Note = _note;
        }

    }
}
